// 房源管理接口文档
import { api } from 'boot/axios'

/** 房源管理参数：
 *  houseName	String	是	房源名称
 * communityName	String	是	小区名称
 * houseType	String	是	房屋类型（如公寓、别墅）
 * status	String	是	房源状态（如可租、已租）
 * houseNumber	String	是	房屋编号
 * facilities	String	否	配套设施
 * layout	String	否	户型（如2室1厅）
 * rent	BigDecimal	否	租金
 * area	BigDecimal	否	面积（平方米）
 * deposit	BigDecimal	否	押金
 * tags	String	否	标签（如近地铁）
 * locationInfo	String	否	位置信息
 * videos	String	否	视频链接
 * images	String	否	图片链接
 * arLink	String	否	AR链接
 * description	String	否	房源描述
 **/
export interface IHouseParam {
  houseName: string
  houseType: string
  status: string
  houseNumber: string
  facilities?: string
  layout?: string
  rent?: number | string
  area?: number | string
  deposit?: number | string
  tags?: string
  locationInfo?: string
  videos?: string
  images?: string
  arLink?: string
  description?: string
}
export interface IEditHouseParam extends IHouseParam {
  houseId: number | string
}

const HOUSE_URL = '/house/house'
const HOUSE_PAGE_URL = '/house/house/page'
const HOUSE_LIST_URL = '/house/house/list'

// House
export function addHouse(data: IHouseParam) {
  return api.post(HOUSE_URL, data)
}
export function editHouse(data: IEditHouseParam) {
  return api.put(HOUSE_URL, data)
}
export function removeHouse(id: number) {
  return api.delete(`${HOUSE_URL}/${id}`)
}
export function getHouseById(id: number) {
  return api.get(`${HOUSE_URL}/${id}`)
}
export function getHouseList() {
  return api.get(HOUSE_LIST_URL)
}
export interface IHouseParams {
  status?: string
  layout?: string
  houseName?: string
}
export type THouseQueryParams = IPager & IHouseParams
export function getHousePageList(oArg: THouseQueryParams) {
  const params: THouseQueryParams = { pageNum: oArg.pageNum || 1, pageSize: oArg.pageSize || 10 }
  const keys: (keyof IHouseParams)[] = ['status', 'layout', 'houseName']
  keys.forEach(key => {
    if (oArg[key]) {
      params[key] = oArg[key]
    }
  })
  return api.get(HOUSE_PAGE_URL, { params })
}
